home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / usr_-_Usr_Files / INCLUDE / LINK.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  1KB  |  38 lines

  1. #ifndef _LINK_H
  2. #define _LINK_H
  3.  
  4. #include <elf.h>
  5.  
  6. /* Header file that describes the internal data structures used by the
  7.  * ELF dynamic linker.  */
  8.  
  9. struct link_map
  10. {
  11.   /* These entries must be in this order to be compatible with the
  12.    * interface used by gdb to obtain the list of symbols. */
  13.   unsigned long l_addr;    /* address at which object is mapped */
  14.   char *l_name;        /* full name of loaded object */
  15.   Elf32_Dyn *l_ld;    /* dynamic structure of object */
  16.   struct link_map *l_next;
  17.   struct link_map *l_prev;
  18. };
  19.  
  20. /* The DT_DEBUG entry in the .dynamic section is given the address of
  21.  * this structure. gdb can pick this up to obtain the correct list of
  22.  * loaded modules. */
  23. struct r_debug
  24. {
  25.   int r_version;        /* debugging info version no */
  26.   struct link_map *r_map;    /* address of link_map */
  27.   unsigned long r_brk;        /* address of update routine */
  28.   enum
  29.   {
  30.     RT_CONSISTENT,
  31.     RT_ADD,
  32.     RT_DELETE
  33.   } r_state;
  34.   unsigned long r_ldbase;    /* base addr of ld.so */
  35. };
  36.  
  37. #endif /* _LINK_H */
  38.